package com.gofaraway.service.juc;

import java.util.concurrent.TimeUnit;

/**
 * 守护线程
 * @author ChenPeng
 * @Date 2024/3/25 21:18
 */
public class DaemonDemo {

    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + " 开始运行," + (Thread.currentThread().isDaemon() ? "守护线程" : "用户线程"));

            while (true) {

            }
        }, "t1");

        thread.setDaemon(true);//设置线程为守护线程
        thread.start();

        TimeUnit.SECONDS.sleep(3);

        System.out.println(Thread.currentThread().getName() + " 主线程结束");

        /**
         * 输出：t1 开始运行,守护线程
         * main 主线程结束--->在main主线程结束后，守护线程会伴随着JVM一同结束工作，即使还有循环没有结束
         */
    }
}
